Clock skew is caused by the difference in clock frequency between two clocks positioned at different locations in a communications system. The problem of clock skew almost always appears when there is communication between two systems or portions of a network, each of which has its own clock. Because of variations in the quartz crystal and other oscillator components that regulate the clock frequency, some variation is usually observable between nominally similar clocks. In the context of network delay measurement, the clock skew will introduce an artificial delay. Thus, it is important to remove its effect in order to obtain an accurate estimate of the end-to-end transmission delay, which is often used to analyze the network's performance.
In Internet audio and video applications, the difference in clock frequencies also has other undesirable effects. For example, if the sender's clock frequency is higher than the receiver's clock frequency, the receiver will systematically receive more audio samples than it is able to replay according to its own clock, which leads to systematic overfill of its buffer. Conversely, if the sender's clock frequency is lower than the receiver's, the receiver will systematically find itself lacking audio samples to replay.
Thus it would be highly desirable to provide an efficient method for performing an accurate estimation of clock skew between a sender's clock and a receiver's clock in a packet-based communications network. One particular advantageous use of such a method, for example, may be to adjust buffer sizes associated with sending and/or receiving locations in a network in accordance with such an estimated clock skew.